
plugins:
  - jekyll-optional-front-matter
  - jekyll-titles-from-headings
  - jekyll-sitemap

exclude: ["public/"]

defaults:
  -
    scope: { path: "" }
    values:
      layout: "page"
      keywords: igp,babel,ospf,world wide,wireguard,fastd,tunneling,slaac,radv
  -
    scope: { path: "docs/index.md" }
    values:
      title: "What is it?"
      descr: What is CRXN? How does CRXN work? What are the goals of CRXN? Where can I find more information?
      keywords: crxn,crxn howto,what is crxn,crxn community,crxn abbreviation,crxn explanation
  -
    scope: { path: "docs/getting-started/index.md" }
    values:
      descr: This document contains instructions on how to connect to the CRXN network - from registration to software setup.
      keywords: getting started,how to,connect to
  -
    scope: { path: "docs/getting-started/index.md" }
    values:
      descr: This document contains instructions on how to connect to the CRXN network - from registration to software setup.
      keywords: getting started,how to,connect to
  -
    scope: { path: "docs/getting-started/rules.md" }
    values:
      descr: There are a few rules in CRXN. Here they are.
      keywords: rules,policy
  -
    scope: { path: "docs/getting-started/requirements.md" }
    values:
      descr: Minimum requirements that the CRXN routers should meet.
      keywords: hardware requirements,software requirements,bandwidth requirements
  -
    scope: { path: "docs/getting-started/registration.md" }
    values:
      descr: Instructions on how to register in the CRXN entitydb and how to globally mark your prefix as used.
      keywords: prefix registration,ula registration,ungleich ula registry,entitydb registration
  -
    scope: { path: "docs/entitydb/index.md" }
    values:
      descr: entitydb menu entries.
      keywords: entitydb,entitydb schema,entitydb scripts,entitydb license,entitydb attributes,entitydb security
  -
    scope: { path: "docs/entitydb/format-rules.md" }
    values:
      descr: Summary of best practices for entitydb - allowed characters, indentation, validation of entries, and more.
      keywords: entitydb,allowed characters,indentation,json schema,entitydb schema,entitydb scripts,squash commits,entitydb license
  -
    scope: { path: "docs/entitydb/security-in-git.md" }
    values:
      descr: Summary of best practices for working securely with Git - two factor authentication for Codeberg, SSH fingerprinting and signing commits.
      keywords: two-factor authentication,ssh fingerprints,sign commits
  -
    scope: { path: "docs/entitydb/maxlen.md" }
    values:
      descr: Summary of best practices for working securely with Git - two factor authentication for Codeberg, SSH fingerprinting and signing commits.
      keywords: two-factor authentication,ssh fingerprints,sign commits
  -
    scope: { path: "docs/routing/index.md" }
    values:
      descr: Various instructions, examples and tutorials on how to configure CRXN with appropriate routing software.
      keywords: routing,setup crxn,routing examples,how to linux routing
  -
    scope: { path: "docs/routing/forwarding.md" }
    values:
      descr: Instructions on how to enable IPv6 forwarding on Linux-based systems.
      keywords: linux kernel ip forwarding,sysctl forwarding,ipv6 forwarding,forwarding,linux ip forwarding,kernel forwarding
  -
    scope: { path: "docs/routing/create-dummy-interface.md" }
    values:
      descr: Instructions on how to create a dummy interface on Linux so you can use your CRXN source IP address.
      keywords: dummy interface,linux dummay,debian dummy,ifupdown dummy,ip dummy
  -
    scope: { path: "docs/routing/bird/bird.md" }
    values:
      descr: Example with explanation of how to configure Bird so that it can connect to the CRXN network. Utility functions, import/export filters are created and different protocols are used.
      keywords: bird configuration,connect to crxn example,bird utility functions,bird filter,bird protocol
  -
    scope: { path: "docs/routing/bird/maxlen-filter.md" }
    values:
      descr: Short tutorial on how to implement a max-len filter in bird and use it to defend against various attacks.
      keywords: bird configure filter,bird maxlen,maxlen filter,max-len filter
  -
    scope: { path: "docs/routing/babeld/babeld.md" }
    values:
      descr: Example with explanations how to configure babeld.
      keywords: babeld configuration,babeld example,babeld filter,babeld source ip,setup babel,configure babel
  -
    scope: { path: "docs/routing/babeld/compile-install.md" }
    values:
      descr: Instructions on how to compile and install babeld. This is useful for example if babeld is outdated from the package sources.
      keywords: babeld compile,babeld install,babeld outdated,setup babeld
  -
    scope: { path: "docs/routing/babeld/maxlen-filter.md" }
    values:
      descr: Short tutorial on how to implement a max-len filter in babeld and use it to defend against various attacks.
      keywords: babeld configure filter,babeld maxlen,maxlen filter,max-len filter
  -
    scope: { path: "docs/routing/babeld/babelweb2.md" }
    values:
      descr: Instructions how to compile and install babelweb2. babelweb2 is a monitoring software for babeld.
      keywords: babelweb,babelweb2,babeld monitoring,babel monitoring,babeld monitor,babel monitor,setup babelweb,setup babelweb2,install babelweb,install babelweb2
  -
    scope: { path: "docs/tunneling/index.md" }
    values:
      descr: Various instructions, examples and tutorials on how to use tunnel / VPN software.
      keywords: fastd,fastd install,fastd compile,wireguard,openvpn,ip tunnel,gre,sit,gretap,vxlan,fou,gue,gre over fou,gre over gue
  -
    scope: { path: "docs/tunneling/fastd.md" }
    values:
      descr: Instructions with example how to configure fastd. This includes, the different methods, the MTU, as well as the integration in systemd.
      keywords: fastd,fastd mtu,fastd configure,setup fastd,fastd autostart,fastd systemctl,fastd systemd,fastd methods,fastd dynamic peer,fastd modes
  -
    scope: { path: "docs/tunneling/fastd-compile-install.md" }
    values:
      descr: Instructions on how to compile and install fastd. This is useful, for example, if you want to activate certain features at compile time or the package from the package sources is outdated.
      keywords: fastd,install fastd,compile fastd,fastd outdated,fastd compile time features
  -
    scope: { path: "docs/tunneling/wireguard.md" }
    values:
      descr: Instructions with example how to use WireGuard for a peer-to-peer connection. Preshared keys (PSK), wg-quick, integration in Systemd, key generation as well as dynamic and non-reachable peers are covered.
      keywords: wireguard,setup wireguard,wireguard peer-to-peer,wireguard p2p,wg-quick,wireguard systend,wireguard routing,wireguard dynamic ip
  -
    scope: { path: "docs/tunneling/openvpn.md" }
    values:
      descr: Instructions with example how to configure OpenVPN with static key a peer-to-peer connection. Some tips like MTU and speed optimization as well as the integration in Systemd are covered.
      keywords: setup openvpn,openvpn p2p,openvpn mtu,openvpn systemd,openvpn tun-mtu,openvpn get mtu,openvpn float,openvpn dynamic ip
  -
    scope: { path: "docs/tunneling/iptunnel.md" }
    values:
      descr: Guide with example how to set up different IP tunnels like GRE, GRETAP, SIT, VXLAN. Furthermore GRE and SIT over UDP (Foo-over-UDP and Generic UDP Encapsulation) is explained with examples.
      keywords: ip tunnel,gre,gretap,sit,vxlan,setup,fou,foo-over-udp,fou gue,gue
  -
    scope: { path: "docs/home-network/index.md" }
    values:
      descr: Various instructions on how to integrate CRXN into your home network.
      keywords: crxn,home network,radv,slaac,dns
  -
    scope: { path: "docs/home-network/radv.md" }
    values:
      descr: Instructions with example how to set up radv using bird in home network. Different methods how to integrate CRXN with radv are presented.
      keywords: radv,crxn radv,bird radv,bird protocol radv,bird route advertisments
  -
    scope: { path: "docs/home-network/slaac.md" }
    values:
      descr: Instructions with pictures how to enable SLAAC in NetworkManager.
      keywords: slaac,ipv6 autoconfiguration,nmcli slaac,nm slaac,networkmanager slaac,networkmanager ipv6 configuration
  -
    scope: { path: "docs/home-network/dns.md" }
    values:
      descr: Instruction with example how to announce DNS server in radv using bird.
      keywords: radv,crxn radv,bird radv,bird protocol radv,bird dns advertisments
  -
    scope: { path: "docs/additional/index.md" }
    values:
      descr: Various somewhat more complex topics in CRXN.
      keywords: crxn extras,crxn additional,crxn complex topics
  -
    scope: { path: "docs/additional/dns.md" }
    values:
      descr: Explanation of how the DNS works in CRXN. Furthermore, a resolver setup with CoreDNS is presented.
      keywords: crxn dns,setup coredns,integrate dns with crxn
  -
    scope: { path: "docs/additional/dn42-interconnection.md" }
    values:
      descr: Explanation of what the CRXN x dn42 gateway is, how it works, and how to deploy one using bird.
      keywords: dn42 interconnection,crxn interconnection,crxn x dn42 interconnection,crxn x dn42 gateway,babel bgp bird,dn42 grc,dn42 global route collector
  -
    scope: { path: "docs/additional/otg/index.md" }
    values:
      descr: OTG stands for On-to-go and refers to a mobile connection to CRXN via a central service.
      keywords: crxn otg,crxn vpn,surf in the crxn
  -
    scope: { path: "docs/additional/otg/deavmi.md" }
    values:
      descr: Information about Deavmi's OTG service - how to request and set up a connection.
      keywords: crxn otg,crxn vpn,surf in the crxn
  -
    scope: { path: "docs/additional/otg/bandura.md" }
    values:
      descr: Information about the OTG service from Bandura Communications.
      keywords: crxn otg,crxn vpn,surf in the crxn
  -
    scope: { path: "docs/peers.md" }
    values:
      descr: A public list of individuals or organizations in CRXN and their peering policies.
      keywords: crxn peering,crxn peering request,how to peer in crxn
  -
    scope: { path: "docs/services.md" }
    values:
      descr: A list of various services provided by the community in CRXN.
      keywords: crxn websites,crxn services,things in crxn
  -
    scope: { path: "docs/people.md" }
    values:
      descr: Various people who are or were active in CRXN and their roles.
      keywords: crxn community,crxn admins,crxn mods,crxn team


title: CRXN documentation

#keywords: crxn,igp,babel,ospf,ipv6,routing,community,world wide,wireguard,fastd,tunneling,slaac,radv
keywords: crxn,ipv6,routing,community,overlay

lang: "en"

menu:
- title: Home
  url: /docs/
  weight: 1

- title: Getting started
  url: /docs/getting-started/
  weight: 2
  sub:
    - title: "Rules"
      url: /docs/getting-started/rules
      weight: 1
    - title: "Requirements"
      url: /docs/getting-started/requirements
      weight: 2
    - title: "Registration"
      url: /docs/getting-started/registration
      weight: 3

- title: entitydb
  url: /docs/entitydb/
  weight: 3
  sub:
    - title: "Format and Rules"
      url: /docs/entitydb/format-rules
      weight: 1
    - title: "Security in Git"
      url: /docs/entitydb/security-in-git
      weight: 2
    - title: "max-len attribut"
      url: /docs/entitydb/maxlen
      weight: 3

- title: "Routing"
  url: /docs/routing/
  weight: 4
  sub:
    - title: "Forwarding"
      url: /docs/routing/forwarding
      weight: 1
    - title: "Create a dummy interface"
      url: /docs/routing/create-dummy-interface
      weight: 2
    - title: bird
      weight: 3
      sub:
        - title: "Setting up Bird"
          url: /docs/routing/bird/bird
          weight: 1
        - title: "max-len filter in bird"
          url: /docs/routing/bird/maxlen-filter
          weight: 2
    - title: babeld
      weight: 4
      sub:
        - title: "Setting up Babeld"
          url: /docs/routing/babeld/babeld
          weight: 1
        - title: Compile and install babeld
          url: /docs/routing/babeld/compile-install
          weight: 2
        - title: "max-len filter in babeld"
          url: /docs/routing/babeld/maxlen-filter
          weight: 3
        - title: "babelweb2"
          url: /docs/routing/babeld/babelweb2
          weight: 4

- title: "Tunneling"
  url: /docs/tunneling/
  weight: 5
  sub:
    - title: "Fastd"
      url: /docs/tunneling/fastd
      weight: 1
    - title: "Compile and install fastd"
      url: /docs/tunneling/fastd-compile-install
      weight: 2
    - title: "WireGuard"
      url: /docs/tunneling/wireguard
      weight: 3
    - title: "OpenVPN"
      url: /docs/tunneling/openvpn
      weight: 4
    - title: "IP tunnel"
      url: /docs/tunneling/iptunnel
      weight: 5
      
- title: "Setting up your home network"
  url: /docs/home-network/
  weight: 6
  sub:
    - title: "Setting up radv (router)"
      url: /docs/home-network/radv
    - title: "Setting up SLAAC (hosts)"
      url: /docs/home-network/slaac
    - title: "DNS"
      url: /docs/home-network/dns
      
- title: Additional
  url: /docs/additional/
  weight: 7
  sub:
    - title: DNS
      url: /docs/additional/dns
      weight: 1
    
    - title: DN42 interconnection
      url: /docs/additional/dn42-interconnection
      weight: 2
    
    - title: OTG
      url: /docs/additional/otg/
      weight: 3
    
- title: Peers
  url: /docs/peers
  weight: 8

- title: Services
  url: /docs/services
  weight: 9

- title: People
  url: /docs/people
  weight: 10

